/*
 *  MW.h
 *  T3nsors2
 *
 *  Created by Michael Barriault on 10-06-28.
 *  Copyright 2010 University of Guelph. All rights reserved.
 *
 */

#include "T3nsors.h"

class MW {
private:
	t3::domain* O;
	t3::scalar* rho;
	t3::vector* J;
	t3::scalar* Phi;
	t3::scalar* Psi;
	t3::vector* E;
	t3::vector* B;
	t3::vector* x;
	double *dx;
	double K,epsilon;
public:
	MW(t3::domain*,double,double);
	~MW(void);
	t3::scalar* PhiDot(t3::scalar*,t3::scalar*,t3::vector*,t3::vector*);
	t3::scalar* PsiDot(t3::scalar*,t3::scalar*,t3::vector*,t3::vector*);
	t3::vector* EDot(t3::scalar*,t3::scalar*,t3::vector*,t3::vector*);
	t3::vector* BDot(t3::scalar*,t3::scalar*,t3::vector*,t3::vector*);
	void Bounds(t3::scalar*,t3::scalar*,t3::vector*,t3::vector*,bool,bool,bool);
	void RK(double);
	void Print(double,t3::scalar*);
	void Print(double,t3::vector*);
	void Solve(double,double);
};

